Static Deadlock Prevention in Dynamically Configured Communication Networks
نویسندگان
چکیده
We propose a technique to avoid deadlocks in a system of communicating processes. Our network model is very general. It supports dynamic process and channel creation and the ability to send channel endpoints over channels, thereby allowing arbitrary dynamically configured networks. Deadlocks happen in such networks if there is a cycle created by a set of channels, and processes along the cycle circularly wait for messages from each other. Our approach allows cycles of channels to be created, but avoids circular waiting by ensuring that for every cycle C , some process P breaks circular waits by selecting to communicate on both endpoints involved in the cycle C at P . We formalize this strategy as a calculus with a type system. Our type system keeps track of markers called obstructions where wait cycles are intended to be broken. Programmers annotate message types with design decisions on how obstructions are managed. Using these annotations, our type checker works modularly and independently on each process, without suffering any state space explosion. We prove the soundness of the analysis (namely deadlock freedom) on a simple but realistic language that captures the essence of such communication networks. We also describe how the technique can be applied to a substantial example.
منابع مشابه
Credit-based Communication in NoCs
Credit-based communication is widely employed in networks of different types for performance enhancement, packet loss prevention and deadlock prevention. In this work we survey different crediting techniques in context of network-onchip (NoC) and propose a classification of the different crediting approaches.
متن کاملDeadlock Avoidance for Distributed Real-time and Embedded Systems a Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
This thesis studies how to prevent deadlocks in distributed real-time and embedded systems. Deadlocks are undesirable states of concurrent systems, characterized by a set of processes in a circular wait state, in which each process is blocked trying to gain access to a resource held by the next one in the chain. Solutions can be classified into three categories: • Deadlock detection is an optim...
متن کاملOn Buffer-Economical Store-and-Forward Deadlock Prevention
AbstrucfThis note deals with store-and-forward deadlock prevention in communication networks. The approach we adopt is that of establishing buffer classes in order to prevent cyclic waiting chains. This type of solutions usually tends to require many buffers. The main contribution of the current note is in showing that the number of required buffers can be reduced considerably by employing a hi...
متن کاملServerNet Deadlock Avoidance and Fractahedral Topologies
This paper examines the problems of deadlock avoidance in multistage networks, and proposes a new class of scalable topologies for constructing large networks without introducing loops that could cause deadlocks. The new topologies, called “fractahedrons,” are deadlock-free and reduce the maximum link contention compared to other networks. The use of fractahedral topologies is illustrated by va...
متن کاملAcyclic Orientations for Deadlock Prevention in Usual Networks
Deadlock prevention for routing messages has a central role in communication networks , since it directly innuences the correctness of distributed and parallel systems. In this paper we extend some of the computational results presented in 10] on acyclic orientations for the determination of optimal deadlock free routing schemes. In this context minimizing the number of buuers, needed to preven...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005